Двумерная полиномиальная фильтрация
Процедура позволяет разделять двумерное поле на компоненты полиномиальным фильтром в скользящем окне. Эту процедуру еще часто называют полиномиальным сглаживанием.
Алгоритм
При каждом положении скользящего окна исходное поле в нем методом наименьших квадратов аппроксимируется полиномом:
F = C0 + CX *X + CY *Y + CXY *X*Y + CXX *X2 + CYY * Y2
где:
- F – исходное поле в окне;
- C0 - CYY - коэффициенты полинома;
- X и Y - локальные координаты в окне (начало координат в середине окна, ось X идет вдоль профиля, ось Y идет вдоль линии равных пикетов от больших номеров профилей к меньшим, шаги dX и dY совпадают с аналогичными параметрами исходного поля).
В зависимости от значения параметра Число выбрасываемых точек вычисление проходит в один ( 0 ) или в два ( >0 ) прохода. При первом проходе для всех точек окна вычисляются отклонения наблюденных значений от подобранного полинома, после чего полином подбирается заново без учета заданного количества точек с наибольшими отклонениями. Таким образом, процедура фильтрации может адаптироваться к особенностям обрабатываемого поля.
Значение подобранного полинома в центре окна (C0 ) записывается в Профильтрованное поле, разность между Исходным и Профильтрованным полем - в Остаточное .
В исходном поле могут быть пропуски, главное чтобы их было не слишком много – для вычисления коэффициентов полинома необходимо не менее MIN_Pnt_WIN=15 точек в окне. Если это условие не выполняется, то в выходных полях для данного положения центра окна размещаются пропуски.
Обработка проводится без экстраполяции – если в исходном поле в некоторой точке стоит пропуск, то в выходных полях в этой точке также будут пропуски.
Параметры
Для определения обрабатываемого поля необходимо выбрать нужное свойство из числа существующих в текущей ТОС (см. Рис. 1), параметр Свойство на панели Исходное поле.
Рис. 1. Выбор параметров двумерного полиномиального фильтра
Окно выбирается из списка предопределенных окон на панели Параметры окна (см. Редактор Окон 2D ).
Параметр Число выбрасываемых точек позволяет адаптировать вычислительную процедуру к особенностям обрабатываемого поля. Если параметр равен нулю, то аппроксимация производится в один проход. Если этот параметр больше нуля, то аппроксимация проводится повторно, причем сначала из окна будет удалено указанное число точек с максимальным отклонением поля в окне от первого аппроксимирующего полинома. Таким образом "резкие выбросы" будут просто исключены из процесса фильтрации, см. пример. Значение целочисленное неотрицательное, умолчание – 0. Изменение параметра ведет к увеличению времени счета.
Для определения Профильтрованного поля необходимо определить Имя файла ТОС и Свойство на панели Результат полиномиальной фильтрации . По умолчанию используется имя файла текущей ТОС.
Остаточное поле определяется аналогично профильтрованному.
В зависимости от особенностей решаемой задачи, пользователь может отказаться от расчета одного из выходных полей: профильтрованного или остаточного - для этого достаточно снять отметку (флажок) о расчете соответствующей компоненты, которая находится слева от ее названия.
В результате выполнения процедуры в зависимости от заданных пользователем имен выходных ТОС создаются новые ТОС, либо дописываются новые свойства к уже существующим ТОС, в которых размещаются профильтрованное и остаточное поля. Создаваемые ТОС наследуют размеры и параметры сети исходной (текущей) ТОС.
